var expressValidator = require('express-validator');
var validator = require('validator');
var objectid = require('objectid')

// 正整数
var positiveInteger = /[0-9]+$/;

validator.extend('isPositiveInteger', function (str) {
    return positiveInteger.test(str);
});

validator.extend('notEmpty', function (str) {
    return validator.trim(str).length > 0;
});

validator.extend('objectid', function (str) {
    return objectid.isValid(str);
});


/**
 * 参数校验
 **/
exports.validator = function() {
	var options = {
		customValidators: {
			isArray: function(value) {
				return Array.isArray(value);
			},
			gt: function(param, num) {
				return param > num;
			},
			gte: function(param, num) {
				return param >= num;
			},
			lt: function(param, num) {
				return param < num;
			},
			lte: function(param, num) {
				return param <= num;
			}
		}
	};

	return expressValidator(options);
}